import http from 'wechat-http'

// 配置请求的基础地址 => http.get/post
wx.baseUrl = 'https://live-api.itheima.net'
http.baseURL = wx.baseUrl

// 添加拦截器
// 请求拦截器=> 发请求之前执行
http.intercept.request = (config) => {
  // 3. header中统一添加 token=》将来做完登录补充
  // 获取 token
  const token = getApp().state.token
  if (token) {
    // console.log('请求配置:', config)
    // 添加 header 配置
    config.header = {}
    config.header.Authorization = token
  }
  return config
}
// 响应拦截器=> 响应成功或失败执行
http.intercept.response = (res) => {
  console.log('响应：', res)
  // 1. 统一错误提示
  if (res.data.code !== 1e4) {
    // 避免被页面中其他消息提示覆盖/中断
    setTimeout(() => {
      wx.utils.message(res.data.message)
    }, 1000);
    // 处理 401token 失效
    if (res.statusCode === 401) {
      // 获取当前访问页面的地址
      const history = getCurrentPages();
      const currPath = history[history.length - 1].route
      console.log('当前访问页面地址：', currPath)
      wx.redirectTo({
        url: `/pages/login/index?redirectUrl=/${currPath}`
      })
    }

    return Promise.reject(res.data)
  }
  // 2. 简化返回的数据
  return res.data.data
}

// 需求：wx.http.get()
// 向 wx 全局对象中追加http 请求模块
wx.http = http